home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr28 / todir22.zip / TO.DOC < prev   
Text File  |  1993-01-04  |  28KB  |  549 lines

  1.         TO - Version Two-point-zero            Andrea Steffanoni, et all 
  2.  
  3.         This  is  a great little utility for moving around to  different 
  4.         subdirectories  on your hard disk.  Andrea Steffanoni wrote  the 
  5.         original program and evidently it has been thru several people's 
  6.         hands  since.   Tim Frost has made many changes in the direction 
  7.         of  making this program more robust and cleaning up  the  source 
  8.         code.  I fixed a couple of bugs, made it run a little faster and 
  9.         added approximate string matching in the directory search. 
  10.         
  11.  
  12.         
  13.         old---------------------------------------------------------news 
  14.                           *** RELEASES 1.2 - NEWS *** 
  15.         new---------------------------------------------------------news 
  16.         
  17.         A big thank to Edoardo Mecchina. 
  18.         
  19.         Edoardo has discovered  the method used by Peter Norton's NCD to 
  20.         compute  the  non-standard  CRC  put  at the end of the TREEINFO 
  21.         file,  thus  eliminating a little incompatibility between TO and 
  22.         NCD.   From  this version the TREEINFO  file  created by  TO  is 
  23.         totally compatible with Peter Norton's NCD, and you can share it 
  24.         between the two programs without any trouble.
  25.  
  26.         At  the  moment  I can't see any  possible  improvement  to  the 
  27.         program's capabilities,  but if you discover one,  please let me 
  28.         know and,  if possible,  I  will add it.  Leave me a message  on 
  29.         Amnesia (Varese) or Ipotesi (Milano). 
  30.         
  31.         Thanks again to Edoardo.  
  32.         
  33.         
  34.         no----------------------------------------------------------news 
  35.                           *** RELEASES 1.1 - NEWS *** 
  36.         good--------------------------------------------------------news 
  37.         
  38.         First good news: no bugs found till now! Hope it will continue. 
  39.  
  40.         Second good news;  two more flags. The -r (Record)  and -p (Pop) 
  41.         flags  are now available to record the directory you are in  for 
  42.         future  popping.  See the Flag Section to get information  about 
  43.         their use.
  44.         
  45.         First-and-only bad news:  LACK OF POSTCARDS!  This is a  totally 
  46.         free  program,   has a good documentation,  the source  code  is 
  47.         available,  should also be useful,  so you can spend five minute 
  48.         of your life just to say 'Thanks' to me. I've also others ideas, 
  49.         but if I have no feedback from you, why should I share them with 
  50.         you?   So,   reader,   if YOU like TO,  give me a sign  of  your 
  51.         presence; I will appreciate it a lot. 
  52.         
  53.  
  54.         t--------------------------------------------------------------o 
  55.         
  56.                 
  57.         Hello, everybody! 
  58.         
  59.         
  60.         I'm happy to SHARE this program with you and with all other guys 
  61.         of  the  big  shareware group.  I  hope you  enjoy  this  little 
  62.         program.   It's nothing special,  but it save you from typing  a 
  63.         lots  of keys just to switch to deep-nested directory.  It  also 
  64.         help you to quickly find a directory if you don't  remember  its 
  65.         exact name or its location on your directory tree without having 
  66.         to  look through the whole tree.  And finally,  you can  use  it  
  67.         also to find duplicate directory names. 
  68.         
  69.         But before starting, let me express my >THANKS<. 
  70.         
  71.         First of all, a *BIG* thank to all the BBS Sysops, which support 
  72.         with their activities the shareware group. 
  73.  
  74.         Then,  a  *HUGE* thank to all people of the shareware group. I'm 
  75.         using  a  lot  of really good pieces  of  software  which   have 
  76.         strongly increased both my  experience and my productivity.  Now 
  77.         it's  my turn to contribute.  I  hope you will  appreciate  this 
  78.         little job of mine at least half half half half half half much I 
  79.         appreciate yours. And again, thanks, thanks, thanks! 
  80.         
  81.         Then, a bit of advertisement (dedicated to YOU). I  just want to 
  82.         make  you  think  a  moment on the  shareware  concept.   In  my 
  83.         experience,  I've learned *LOTS*  from other people works,   and 
  84.         more,  I  use for my job really professional software tools.  In 
  85.         the shareware  group  I have found programs,  ideas,   tips  and 
  86.         tricks, suggestions, even precious book titles.  All at the cost 
  87.         of a phone call,  or just few dollar$ if asked from the authors. 
  88.         And about them?  I'm sure they are happy knowing someone else is 
  89.         enjoying their contributions. So am I for you. 
  90.         
  91.         In fact,  software is an idea,  and if both me and you have  one 
  92.         idea,  and we share our ideas,  we end up having two ideas each. 
  93.         And  if  we  are not just two but some  thousands  people,   all 
  94.         sharing their ideas and their experience, we all end up having a 
  95.         tremendous number of ideas. 
  96.         
  97.         So,  for the moment enjoy my little idea,  but don't keep  yours 
  98.         just for you, share them with everybody. For small that they can 
  99.         be,  there will be someone who will appreciate them and will  be 
  100.         grateful to you. 
  101.         
  102.         Ok, that's enough. Let's talk about TO.
  103.         
  104.         high-------------------------------------------------------story
  105.                   *** THE HI-STORY AND THE LO-STORY OF TO ***
  106.         low--------------------------------------------------------story 
  107.         
  108.         Are  you interested in a bit of history?  I'll tell you  how  TO 
  109.         came in my mind. 
  110.         
  111.         You have to know, that I'm a very -lazy- programmer.  And when I 
  112.         say lazy, I  mean *really* lazy. I like a lot programming, but I 
  113.         don't like at all using the keyboard. Too many keys,  my fingers 
  114.         always jumping up and down, left and right, and all the mistakes 
  115.         I made! Pfffffffft! How boring! 
  116.         
  117.         Well,  you might say, no keyboard no programming,  and you'll be 
  118.         right. So, since I like programming, I've been thinking a lot to 
  119.         all the tricks I could use to reduce my use of the keyboard. 
  120.  
  121.         First  step,   was KBFIX2.  This little program (shareware,   of 
  122.         course) increases my keyboard speed and set up a +Useful+ buffer 
  123.         of 150 bytes. Not enough, of course.
  124.         
  125.         Then,  after using some others similar programs, I've discovered 
  126.         RETRIEVE.  This program combine the capabilities of edit the Dos 
  127.         command line in a better way then Dos,  recall and edit previous 
  128.         command line(s), set aliases (e.g.  t for type, saving me 3 keys 
  129.         on 4,  or better, px for pkxunpak *.arc<return>, 3  keys instead 
  130.         of  15),   and  assign strings to function  key  (e.g.   F1   is 
  131.         c:<return>dir  /p<return>,  1  key instead of 10).  It's a  very 
  132.         *beautiful*   program,  better then the most famous Dos-edit  or 
  133.         Ced;   I  recommend it to you (this is a shareware  information, 
  134.         have you noticed it?). 
  135.         
  136.         Next,   I've  set up my editor with the  most  useful  keyboards 
  137.         macro. Obviously,  I've choose an editor with very short command 
  138.         sequences, so I can choose nearly any command with few (and very 
  139.         few)   keystrokes.  It also supports learn-and-repeat mode,  and 
  140.         (did you guess it?)  this is a feature that I use a lot. Curious 
  141.         about the name? It's QEdit! 
  142.         
  143.         Enough? Not yet. I set up a directory in my path containing .bat 
  144.         files  (with very shorts names,  of course)  for  usual  command 
  145.         sequences.   An example:  WIN.BAT will log to drive D:,   change 
  146.         directory in \WIN, and calls Windows, all at only 4 keystrokes. 
  147.         
  148.         And (more?  Yes,  more) I  choose really shorts directory names, 
  149.         e.g. U for my UTILITIES, PC for Procomm Plus and so on.  This is 
  150.         useful for the CD and the COPY command. 
  151.         
  152.         So,   at this point I should have been happy,  didn't I?.   Yes, 
  153.         indeed I have been,  for  a while.  All the  commands  at a  few 
  154.         keystrokes. What a paradise!  I  still had to 'keyboard'  a  lot 
  155.         while  programming,  but ok,  programming itself is so beautiful 
  156.         for me that I don't bother.  
  157.         
  158.  
  159.                                          
  160.                                         |
  161.                                     \       /
  162.                                       
  163.                                   >    BUT    <
  164.         
  165.                                     /       \ 
  166.                                         | 
  167.         
  168.  
  169.  
  170.         I'm  not only lazy,  I'm also very ordered,  at least inside  my 
  171.         computer (in fact, my girl-friend won't agree on this point, she 
  172.         sees only the rest).  Order means having  all my  files  in  the 
  173.         right place, and this involves a well-structured directory tree. 
  174.         I  have  to  manage in total something  like  one  thousand  two 
  175.         hundred files, so I end up with more then 100  directories on my 
  176.         two-drives hard disk. 
  177.         
  178.         It's really an ordered disk, but I've discovered that, after all 
  179.         the work done for improving my productivity  on the keyboard,  I 
  180.         was losing a lot of time (and of keystrokes)  to change  working 
  181.         directory.  Ok, I  set up some .bat files for the most used, but 
  182.         what about the others? It was annoying me to have to provide the 
  183.         full path name every time. I had to find a better method.   So I 
  184.         tried  the Norton Change Directory,  but I was not satisfied  at 
  185.         all. I still had to use too many keystrokes, and more, it was an 
  186.         extra job for me to look at the visual tree. No good! 
  187.         
  188.         Well,  I  said,  something has to be done.  My first idea was to 
  189.         provide  only  the last name of the directory I want to log  in, 
  190.         and let the computer find the whole path for me.  To gain speed, 
  191.         I  used the already-built TREEINFO.NCD file (it's built  by  the 
  192.         NCD, Norton Change Directory, in the root directory and contains 
  193.         the directory tree of the drive).  So TO was conceived and born. 
  194.         (Please note the short name of TO - 2 keystrokes only!). 
  195.         
  196.         I used it and <*WOW*>,  impressing! I liked TO immediately.  The 
  197.         little  time spent by the program to scan the TREEINFO file  was 
  198.         largely compensate by the lot of time saved while typing a  much 
  199.         shorter  name,  and (well,  well)  I've reduced a byte  more  my 
  200.         unproductive interation with the keyboard. 
  201.         
  202.         But very soon (nearly after 1 minute of use)  I realized I could 
  203.         have done TO  even  $BETTER$.  As you can  guess,  not all of my 
  204.         directory  names  are  short,  some of them are 5,  6,   7!   or 
  205.         (¡terrible!) even 8 letters long. Too much. Well, let's make the 
  206.         program working even on a partial match. Moreover,  on my disk I 
  207.         use  sometimes the same name for more than one directory,   e.g. 
  208.         I've  three directories called DOC.  In case on ambiguity,   the 
  209.         program should allows me to  choose the one  I want to switch to 
  210.         (this  is  done  with  just one keystroke,  as  you  might  have 
  211.         guessed).   So I added this  two  capabilities  to  TO.   Second 
  212.         release! $$MUCH MUCH BETTER$$. 
  213.  
  214.         But what  about my two-drive system?  I'm too lazy to spend time 
  215.         to press  the one key (please note 'one')  that would me  log on 
  216.         the other drive, if I'm not on the right one. Ok, make TO multi-
  217.         drive.  And finally, if I don't remember the directory name?  Or 
  218.         if I remember it wrong,  and TO can't find it? In this desperate 
  219.         cases,  TO will call the Norton Change Directory to  visual  the 
  220.         directory  tree.   Only on one drive,  like NCD works?  No,   of 
  221.         course, at least on all the drives. But which drives? And if you 
  222.         don't  own the Norton Utilities?  Ok,  TO can be instructed from 
  223.         the command line,  but this requires extra keystrokes.  No,  no, 
  224.         the minimum I could made was to build a  configuration file. And 
  225.         So  I  created TO.INI.  Another problem:  if you don't have  the 
  226.         Norton Utilities you can't create the TREEINFO file; well, let's 
  227.         TO make the job. 
  228.         
  229.         Third and final release! That's it! It's enough for you? Are you 
  230.         curious to know how TO exactly works? Ok, it's time for a bit of 
  231.         
  232.         =doc-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=doc=
  233.                            D O C U M E N T A T I O N 
  234.         =doc-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=doc=
  235.          
  236.         Syntax for TO is:
  237.         
  238.            TO [-b][-n][-p][-r][-dlist_of_drives] [[*]dir] [[*]dir] ... 
  239.  
  240.         Sounds complicated? Here better instructions.
  241.         
  242.         Dir stands  for directory and represents the last directory name 
  243.         of  the  path  of the directory you want to log in.  It  can  be 
  244.         entered either in upper or in lowercase letters.  Do not use the 
  245.         backslash  in the directory name unless you  want to go  to  the 
  246.         root  directory,   in  which  case the  directory  name  IS  the 
  247.         backslash. You can specify one or more directories. Example: 
  248.         
  249.            for directory '\lotus\wks\john\oldstuff'
  250.         
  251.                    enter 'TO oldstuff' 
  252.  
  253.         (in this ugly case 11  keystrokes pressed instead of 24).  Still 
  254.         too  much?  Don't worry,  directory name can be shortened.   Try 
  255.         enter 
  256.          
  257.                          'TO old'
  258.  
  259.         It works too!  (5  more keystrokes saved)  As far as the name is 
  260.         unambiguous, TO will immediately log the desired directory.  You 
  261.         can also try 
  262.         
  263.                          'TO o'
  264.         
  265.         but probably TO will find more than one directory starting with 
  266.         the letter 'o'. Where to go? You decide.  TO display the list of 
  267.         matching directories and waits for your choice.
  268.         
  269.             Please choose one or ESC to abort:
  270.  
  271.               1 - c:\pcplus\opx
  272.               2 - c:\lotus\wks\john\oldstuff
  273.               3 - c:\master\data\orders
  274.         
  275.         In this case, just press the '2' key.
  276.  
  277.         TO works on this basis:
  278.         
  279.         1) If TO finds only one full match,  it will jump to the matched 
  280.            directory;
  281.         
  282.         2) if  TO  finds  more  full  matches,  they  are listed and you 
  283.            can choose the one you want; 
  284.  
  285.         3) if  TO  finds  no fulle match but only one partial match,  it 
  286.            will jump to the matched directory; 
  287.         
  288.         4) if no full matches are found but more than one partial match, 
  289.            they are listed and you make your choice; 
  290.  
  291.         5) if  no  matches  are  found, and  the NCD is not enabled (see 
  292.            later), the programs abort with a message; 
  293.         
  294.         6) if no  matches  are found, or you don't specify any directory 
  295.            to search  for,  and the NCD is enabled,   then  the  NCD.EXE 
  296.            routine is automatically called from TO. 
  297.         
  298.         
  299.         Needs on-line help. Start TO with '?':    TO ? 
  300.  
  301.  
  302.         -to----------------------------------------------------------to-
  303.         -------------------OTHERS--(MIS)USES--OF--TO--------------------
  304.         -to----------------------------------------------------------to-
  305.         
  306.  
  307.         Now,   you  have a little problem.  You remember  having created 
  308.         somewhere  a  directory named  'stuff'  or 'stuffold'  or  maybe 
  309.         'oldstuff' or perhaps 'ostuff' or something like that. You don't 
  310.         remember  the exact name,  but you're quit sure it contains  the 
  311.         string 'stuff'.  Where is it?  You have no idea.  Sure,  you can 
  312.         easily  find it with a visual tree routine,  but why not to  try 
  313.         with 
  314.                          'TO *stuff' 
  315.         
  316.         TO will find it for you,  without the need to scroll up and down 
  317.         on a visual directory tree.
  318.         
  319.         Don't find? Maybe it wasn't 'stuff' something,  now you remember 
  320.         it was 'bin'  something, or maybe 'old' something?  We will look 
  321.         at both possibilities at the same time. Enter 
  322.  
  323.                          'TO *bin *old'
  324.         
  325.         and  TO  will scan the tree looking for match of  both  entries. 
  326.         Need more? You can add up to ten entries. Enough?
  327.         
  328.         Ok. Now you are working in your directory \lotus\wks\budget, and 
  329.         you  are  looking for a file.  It's not there?  How?   You  were 
  330.         working  at it yesterday and nobody has used your computer.  And 
  331.         you  are sure you were in the budget directory.  Where is  gone? 
  332.         Then  you have a doubt:  does my disk have more than one  budget 
  333.         directory? Let's see if it's true:
  334.         
  335.                          'TO budget' 
  336.  
  337.         Oh, yes, there are TWO budget directories, let me have a look to 
  338.         the other one;  ....;  oh, the file is there.  Do I perhaps also 
  339.         have two letters directories? Check it again, Sam! 
  340.         
  341.         I'm  quite sure you won't ever need to use this capabilities  of 
  342.         TO. But -who knows?- maybe one day... 
  343.  
  344.  
  345.         
  346.         
  347.         ----------------------------------------------------------------
  348.         *         You wonder how all that works? The basis is          *
  349.         ----------------------------------------------------------------
  350.                              \THE
  351.                                |
  352.                                |---->TREEINFO
  353.                                |       |
  354.                                |       |---->.NCD
  355.                                |
  356.                                |---->FILE
  357.         ----------------------------------------------------------------
  358.         
  359.         TO bases his searches on a file  called  TREEINFO.NCD, placed in 
  360.         the  root  directory.   If you already  use  the  Norton  Change 
  361.         Directory utility (NCD), Advanced Edition, you already have this 
  362.         file; if not, TO will automatically created it the first time is 
  363.         used.  It will take some seconds,  but once made the  file  will 
  364.         remain for following uses of TO.  The TREEINFO file contains the 
  365.         directory  tree of the disk.  If you create,  rename  or  delete 
  366.         directories,  you should update  the  TREEINFO  file  either  by 
  367.         deleting  it (so TO will rebuilt it automatically)  or by  using 
  368.         the -b (Build) flag as described later. 
  369.         
  370.         Starting  from  version  1.2   the  TREEINFO  file  is   totally 
  371.         compatible with the same file created by NCD.  Thanks to Edoardo 
  372.         Mecchina,  who has found the method to compute the  non-standard 
  373.         CRC that Peter Norton's NCD put at the end of the file. Starting 
  374.         from this version,  you can share the same TREEINFO file between 
  375.         TO and NCD. 
  376.         
  377.         
  378.         
  379.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  380.         -F-l-a-g-s-F-l-a-g-s-F-l-a-g-s-F-l-a-g-s-F-l-a-g-s-F-l-a-g-s-F-l     
  381.         
  382.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  383.         
  384.         Ok, now let's talk about FLAGS.     
  385.                                  ~~~~~
  386.         
  387.         Valid flags are b (Build), d (Drives), n (Norton), p (Pop) and r 
  388.         (Record). They can be entered in upper or lowercase letters, can 
  389.         be  placed  before  or after the directory name,   and  must  be 
  390.         preceded by the '-'  or the '/' sign.  They may also be grouped, 
  391.         e.g. -bnd, but  in this case the d flag must be the  last in the 
  392.         sequence,   because it will be followed by the list  of  desired 
  393.         drives. 
  394.         
  395.         The  -b  (Built)   flag  tells  TO  to  build  or  rebuild   the 
  396.         TREEINFO.NCD file. Use this flag if the file does already exist, 
  397.         otherwise  it's  unnecessary;  if  the  file is missing TO  will 
  398.         automatically build it.  When to rebuilt the file?  Any time you 
  399.         have created, renamed or removed a directory on the disk. 
  400.  
  401.         The -n (Norton)  flag tells TO that you want use the NCD in some 
  402.         particular cases explained later. The NCD.EXE program must be in 
  403.         path.  Also,  if you use TO on more than one drive, be sure that 
  404.         the path to reach  NCD.EXE contains also the drive specification 
  405.         ('c:\utilities\norton'  is ok,  but '\utilities\norton' is not). 
  406.         This flag can also be automatically set by using the TO.INI file 
  407.         (see later). 
  408.         
  409.         The  -d  (Drives)   flag tells TO that you want  the  search  be 
  410.         carried out on the drive(s) specified after the d. Drives can be 
  411.         entered either in upper or lowercase.  Example:  -dD search only 
  412.         on drive D:,  while -dACD search on drive A:, C: and D:. TO,  in 
  413.         case, will also switch to the correct drive. You can permanently 
  414.         set the search drive(s) by putting a line in the TO.INI file, as 
  415.         explained later. However,  the -d flag has the precedence on the 
  416.         TO.INI file, and if you use this flag the TO.INI command will be 
  417.         ignored. This may be useful for particular search. 
  418.         
  419.         The  -p  (Pop)   flag  tells TO  to  chain the  last  recordered 
  420.         directory. The complete path is stored in the file TO.INI.  Read 
  421.         in -r flag instruction on use of this flag. 
  422.         
  423.         The  -r (Record)  tells TO to record the actual directory in the 
  424.         file  TO.INI for future popping.  If the file TO.INI in the root 
  425.         directory doesn't exist,  it will be created. Recording apply to 
  426.         all drives specified in the TO.INI file or with the -d flag,  so 
  427.         popping  will be enabled on all desired drives.  This option  is 
  428.         useful to return to your working directory after the temporarely 
  429.         use  of  a program elsewhere stored.  I  use it for a couple  of 
  430.         programs I  need to  use  on-the-fly;   one  is  my home-written 
  431.         Phonebook.   It's  a  program  which  not only manage  a  little 
  432.         database of numbers, but also has the ability of using the modem 
  433.         to  compose  the number, so I won't consume my fingertips (did I 
  434.         tell you that I'm very -LAZY-?). What happens is that very often 
  435.         after  a  call I have to resume a job.  So I use a .BAT file  to 
  436.         call my Phonebook with theese instructions: 
  437.         
  438.                 TO -r agenda
  439.                 age
  440.                 TO -p
  441.  
  442.         This puts me back in the directory I were before the call. 
  443.  
  444.  
  445.         ?--------------------------------------------------------------?
  446.                       The last mystery: the TO.INI FILE
  447.         ?--------------------------------------------------------------?
  448.         
  449.         The file TO.INI may be created and modified with an editor.   It 
  450.         must  reside on the root directory of each drive from where  you 
  451.         will call TO.  It's not a must. You can also use TO without this 
  452.         file.  In the file, you can specify two parameters:  the Default 
  453.         Search Drive(s) and the Default Use of NCD. 
  454.  
  455.         You can put comments anywhere in the file preceding them with  a 
  456.         semi-colon (;). The only legal command are:
  457.         
  458.                     DRIVERS = [list of drives]
  459.                     NORTON  = YES
  460.  
  461.         Spaces can be inserted anywhere in the command lines, as TO will 
  462.         ignore them. You may put only one or both commands.  The list of 
  463.         drives contains all the default search drive(s), e.g. 
  464.         
  465.                     DRIVERS = CD 
  466.  
  467.         Note that the command NORTON = NO is not legal, and will cause a 
  468.         warning message from TO.
  469.         
  470.         The  command  NORTON = YES is equivalents to the use of  the  -n 
  471.         flag; it cannot be disabled by the flags.
  472.         
  473.         Instead,  the DRIVERS command will be ignored if the -d flag  is 
  474.         used.  So if you have set DRIVERS = CD an want to search only on 
  475.         drive A:, use TO with the -dA flag. 
  476.  
  477.         If you see a line with the command LASTDIR = <directory>, it has 
  478.         been added by the use of the -r (Record) flag. 
  479.         
  480.         Remember, you have to put a TO.INI file on the root directory of 
  481.         EACH drive from where you will use TO. 
  482.           
  483.         -Home-----------------------------------------------------Pg-Up-
  484.                             **END**  (it was time!)
  485.         -END-ENd-End-end------------------------------------------Pg-Dn-
  486.         
  487.  
  488.         That's All Folks! 
  489.  
  490.         If you have read till now you should be impatient to try TO.  Do 
  491.         it now, then read the rest! 
  492.         
  493.         Did you like it?  I know it's nothing special, but please,  give 
  494.         me some satisfaction. 
  495.         
  496.         I also  enclose the source code,  100%  pure  Microsoft C.  I've 
  497.         compiled  TO  with MSC Compiler Ver.  5.1.  If you give a  look, 
  498.         you'll notice that I use mixed-language programming,  i.e.  half 
  499.         english  half  italian,   nearly no  comments.   Hope  you  will 
  500.         understand it anyway. I've included the source because: 
  501.         
  502.         1)  you can tailor TO to your needs, made changes,  improvement, 
  503.         and so on.  If you add *ANY* interesting feature, please send me 
  504.         a copy. 
  505.         
  506.         2)  you can just have a look at the code; this can be helpful if 
  507.         you are studying C.  I  remember I've learned *A LOT* about C by 
  508.         examining  other's people programs.  If TO can somehow help you, 
  509.         I'll be happy about it. 
  510.         
  511.         What can you do for me? A little thing and a BIG THING.
  512.         
  513.         The  little thing is easy:  if you like TO,  send me a postcard. 
  514.         I'll  be happy knowing that someone is using my little  program. 
  515.         My address is: 
  516.         
  517.                               Andrea Steffanoni 
  518.                               Via Cherubini,  6 
  519.                               20145 MILANO 
  520.                                         -ITALY- 
  521.           
  522.         
  523.          
  524.         But  now the *BIG THING*.  If you have programs or ideas,  share 
  525.         them with the others.  Sometimes this can be difficult,  because 
  526.         we are used to keep ours ideas for us, after all they are *OURS*  
  527.         ideas,  aren't they? But just think to that: I  gave you my only 
  528.         idea, and now we are two person with an idea each; I didn't lose 
  529.         mine,  but you gained a new one, and that make me feel happy. Be 
  530.         generous with ideas:  they don't cost anything to you but may be 
  531.         very precious for other people.  If *ALL OF US* will share  just 
  532.         one new idea, all of us will gain hundreds of ideas. 
  533.         
  534.         Don't  worry if your idea is simple or little;  just look  mine! 
  535.         Compared with the ideas and programs I've get from the Shareware 
  536.         Group, mine is absolutely ridiculous. But -who knows?- maybe can 
  537.         be very appreciated. Your ideas, small or big, may be useful for 
  538.         someone else.  Don't hide them.  Remember that sharing is a form 
  539.         of loving.
  540.         
  541.         Now, with all my love, my *BEST WISHES* to you everybody. 
  542.         
  543.         
  544.         
  545.                                                      Andrea Steffanoni 
  546.         
  547.          
  548.  
  549.